package com.hejia.alauda.service;

import com.hejia.alauda.entity.*;
import com.hejia.alauda.entity.example.*;
import com.hejia.alauda.utils.Pager;

import java.util.List;


public interface PageService {
	
	/**page*/
	public boolean savePage(Page page);
	public boolean updatePage(Page page);
	public boolean deletePage(Long id);
	public Page findPageByName(String name);
	public Page findPageById(Long id);
	public String renderArticle(Page page);
	public Pager<Page> findAllPager(Pager<Page> pager, PageExample example);
	
	
	/**pageCategory*/
	public boolean savePageCategory(PageCategory pageCategory);
	public boolean updatePageCategory(PageCategory pageCategory);
	//pageCategory批量修改排序
	public boolean updateSequncePageCategory(List<PageCategory> pageCategoryList);
	public Pager<PageCategory>  findAllPageCategory(Pager<PageCategory> pager, PageCategoryExample example);
	public PageCategory findPageCategoryById(Long id);
	public List<PageCategory>  findAllPageCategory();
	
	/**pageTemplate*/
	public boolean savePageTemplate(PageTemplate pageTemplate);
	public boolean updatePageTemplate(PageTemplate pageTemplate);
	public Pager<PageTemplate>  findAllPageTemplate(Pager<PageTemplate> pager, PageTemplateExample example);
	public PageTemplate findPageTemplateById(Long id);
	public List<PageTemplate>  findAllPageTemplate();


    /**
     * 获取系统参数列表
     *
     * @param category
     * @return
     */

    public List<Links> getParameters();

    /**
     * 保存Links
     *
     * @param links
     * @return
     */
    public boolean saveLinks(Links links);

    /**
     * 根据ID获取友情链接
     *
     * @param id
     * @return
     */
    public Links getLinksById(Long id);

    /**
     * 修改友情链接
     *
     * @param links
     * @return
     */
    public boolean updateLinks(Links links);

    /**
     * 删除友情链接
     *
     * @param id
     * @return
     */
    public boolean deleteLinks(Long id);


    /**
     * 查询所有媒体机构
     *
     * @param pager
     * @return
     */
    public Pager<MediaInstitution> findAllMediaInstitution(
            Pager<MediaInstitution> pager);

    /**
     * 查询所有媒体机构
     *
     * @param pager
     * @param example
     * @return
     */
    public Pager<MediaInstitution> findAllMediaInstitution(
            Pager<MediaInstitution> pager, MediaInstitutionExample example);

    /**
     * 保存媒体机构
     *
     * @param medium
     * @return
     */
    public boolean saveMediaInstitution(MediaInstitution mediaInstitution);

    /**
     * 根据ID获取媒体机构
     *
     * @param id
     * @return
     */
    public MediaInstitution getMediaInstitutionById(Long id);

    /**
     * 修改媒体机构
     *
     * @param MediaInstitution
     * @return
     */
    public boolean modifyMediaInstitution(MediaInstitution mediaInstitution);

    /**
     * 删除媒体报道
     *
     * @param id
     * @return
     */
    public boolean deleteMediaInstitution(Long id);

    /**
     * 查询所有媒体
     *
     * @return
     */
    public List<MediaInstitution> getMediumnameList();

    /**
     * 根据条件查询所有媒体
     *
     * @return
     */
    public List<MediaInstitution> getMediumByCondition();


    /**
     * 查询所有媒体报道
     *
     * @param pager
     * @return
     */
    public Pager<Medium> findAllMedium(Pager<Medium> pager);

    /**
     * 查询所有媒体报道
     *
     * @param pager
     * @param example
     * @return
     */
    public Pager<Medium> findAllMedium(MediumExample example,
                                       Pager<Medium> pager);

    /**
     * 保存媒体报道
     *
     * @param medium
     * @return
     */
    public boolean saveMedium(Medium medium);

    /**
     * 根据ID获取媒体报道
     *
     * @param id
     * @return
     */
    public Medium getMediumById(Long id);

    /**
     * 修改媒体报道
     *
     * @param medium
     * @return
     */
    public boolean modifyMedium(Medium medium);

    /**
     * 删除媒体报道
     *
     * @param id
     * @return
     */
    public boolean deleteMedium(Long id);
}
